//判断数据类型
// typeof instacneof  constructor  Object.prototype.toString.call

// 反面教材
// function isType(content,type){
//   console.log(Object.prototype.toString.call(content)== `[object ${type}]`);
// };
// let flag = isType('hello','string');


function isType(type){
  // 持有数据 产生闭包 type
  return function(content){
    return Object.prototype.toString.call(content)== `[object ${type}]`;
  }
}

let types = ['String','Boolean','Number','Null','Undefined'];
let utils = {};
for(let i =0; i< types.length;i++){
  let type = types[i];
  utils['is'+type] = isType(type);
}

let flag = utils.isString('hello');
console.log(flag);

// 如何实现 柯理化
function fn (a){
  return function (b){
    return function (c){
      return a+b+c;
    }
  }
}
console.log(fn(1)(1)(2))